In a communication environment, service scripts provide a means to create and manage value added services in a centralized session but distribute fully the service execution. The service logic is defined with a script which can be moved between functional elements in a communication network and which is executed in a suitable functional element. Usable script languages can be, for example, CPL (Call Processing Language), SIP Servlets (SIP:Session Initiation Protocol) representing executable instructions which handle SIP messages, or CGI (Common Gateway Interface).
The CPL language scripts are distributed to the servers participating in the handling of calls that need to be effected using these supplementary services. The scripts are inserted to these servers by the network management system, end-users or administrators. There can be several CPL script instances participating to the handling of a given call. The individual script instances are triggered and executed on signaling events conforming to predefined trigger conditions such as caller or callee identification. For example, when there is an incoming call to a subscriber who has defined an incoming call screening script, the script is executed because the callee identification matches.
In general, service scripts provide an efficient, portable and powerful tool for executing control instructions in a distributed network. Service scripts are for example used in Internet Web pages to create different kinds of effects for users. A service script is transferred or downloaded from a Web server to the local computer and executed there.
Moreover, using CPL scripts in connection with SIP Invite messages provides an opportunity to execute services in proxy nodes as specified by a user in an IN (Intelligent Network) network type.
However, due to the fact that the service scripts are stored and executed at a plurality of call control functional units or servers, especially in case of widely used services, a high amount of signaling is required to update service scripts or to adapt service scripts to new service features. Additionally, the fast evolution of IP (Internet Protocol) networks leads to an increased range of user-specific services leading to a demand for a higher flexibility of creating and configuring new services in the network with minimal disruption.
However, the traditional IN model is not flexible enough to integrate Internet type of services, such as Web browsing, presence, instant messaging, click2dial, and e-mail modifications, and to provide attractive and diverse services to users. Thus, a new solution for triggering and controlling services in an IP based service architecture is required.